using System;
using JGSY.CMS.LowCode.Platform.Domain.Interfaces;

namespace Domain.Entities
{
    /// <summary>
    /// 通知消息实体
    /// 用于存储发送给用户的系统通知信息
    /// </summary>
    public class Notification : ITenantEntity
    {
        /// <summary>
        /// 通知标识符
        /// </summary>
        public long Id { get; set; }
        
        /// <summary>
        /// 接收用户标识符
        /// 接收该通知的用户ID
        /// </summary>
        public long UserId { get; set; }
        
        /// <summary>
        /// 通知类型
        /// 如：系统消息、任务提醒、安全警告等
        /// </summary>
        public string Type { get; set; } = string.Empty;
        
        /// <summary>
        /// 通知内容
        /// 通知的具体消息内容
        /// </summary>
        public string Content { get; set; } = string.Empty;
        
        /// <summary>
        /// 通知状态
        /// 0-未读, 1-已读, 2-已删除
        /// </summary>
        public byte Status { get; set; }
        
        /// <summary>
        /// 创建时间
        /// 通知的创建时间戳
        /// </summary>
        public DateTime CreatedAt { get; set; }

        /// <summary>
        /// 租户标识符
        /// </summary>
        public string TenantId { get; set; } = string.Empty;
    }
}
